home *** CD-ROM | disk | FTP | other *** search
/ Meeting Pearls 1 / Meeting Pearls Vol 1 (1994).iso / installed_progs / text / faqs / linux.howto.news < prev    next >
Encoding:
Internet Message Format  |  1994-04-26  |  32.4 KB

  1. Subject: Linux News HOWTO
  2. Newsgroups: comp.os.linux.announce,comp.os.linux.admin,comp.answers,news.answers
  3. From: vince@victrola.wa.com (Vince Skahan)
  4. Date: Mon, 25 Apr 1994 19:53:23 GMT
  5.  
  6. Archive-name: linux/howto/news
  7. Last-modified: 19 Apr 94
  8.  
  9.   The Linux News HOWTO
  10.   Vince Skahan, <vince@victrola.wa.com>
  11.   v1.7, Last modified 26 March 1994
  12.  
  13.   This  document  describes  the  setup  and care+feeding of USENET News
  14.   under Linux.  You need to read this if you plan to post or read USENET
  15.   news either locally on your site or between your site and other sites.
  16.   You probably do *not* need to read this document if don't plan to pro-
  17.   vide USENET news as a feature of your system.
  18.  
  19.   1.  Introduction
  20.  
  21.   The  intent  of  this  document is to answer some of the questions and
  22.   comments that appear to  meet  the  definition  of  "frequently  asked
  23.   questions"  about USENET News software under Linux in general, and the
  24.   version in the Linux SLS distribution in particular.
  25.  
  26.   This document and the corresponding Mail and  UUCP  "HOWTO"  documents
  27.   collectively supersede the UUCP-NEWS-MAIL-FAQ that has previously been
  28.   posted to comp.os.linux.announce.
  29.  
  30.  
  31.   1.1.  New versions of this document
  32.  
  33.   New  versions  of  this  document  will  be  periodically  posted   to
  34.   comp.os.linux.announce,  comp.answers,  and  news.answers.   They will
  35.   also be added to the various anonymous  ftp  sites  who  archive  such
  36.   information including sunsite.unc.edu:/pub/Linux/docs/HOWTO.
  37.  
  38.  
  39.   1.2.  Feedback
  40.  
  41.   I  am  interested in any feedback, positive or negative, regarding the
  42.   content of this document via e-mail.  Definitely  contact  me  if  you
  43.   find errors or obvious omissions.
  44.  
  45.   I  read,  but  do  not  necessarily  respond to, all e-mail I receive.
  46.   Requests for enhancements will be considered and acted upon  based  on
  47.   that  day's  combination  of available time, merit of the request, and
  48.   daily blood pressure :-)
  49.  
  50.   Flames will quietly go to /dev/null so don't bother.
  51.  
  52.   Feedback concerning the actual format of the document should go to the
  53.   HOWTO coordinator - Matt Welsh (mdw@sunsite.unc.edu).
  54.  
  55.  
  56.   1.3.  Copyright Information
  57.  
  58.   The News-HOWTO is copyrighted (c)1994 Vince Skahan.
  59.  
  60.   A  verbatim  copy  may  be  reproduced  or  distributed  in any medium
  61.   physical or electronic without permission of the author.  Translations
  62.   are  similarly  permitted  without express permission if it includes a
  63.   notice on who translated it.
  64.  
  65.   Short quotes  may  be  used  without  prior  consent  by  the  author.
  66.   Derivative  work  and  partial distributions of the News-HOWTO must be
  67.   accompanied with either a verbatim copy of this file or a  pointer  to
  68.   the verbatim copy.
  69.  
  70.   Commercial  redistribution  is  allowed  and  encouraged; however, the
  71.   author would like to be notified of any such distributions.
  72.  
  73.   In short, we wish to promote dissemination of this information through
  74.   as  many channels as possible. However, we do wish to retain copyright
  75.   on the HOWTO documents, and would like to be notified of any plans  to
  76.   redistribute the HOWTOs.
  77.  
  78.   We  further  want  that  ALL  information  provided  in  the HOWTOS is
  79.   disseminated.  If you have questions, please contact Matt  Welsh,  the
  80.   Linux HOWTO coordinator, at mdw@sunsite.unc.edu, or +1 607 256 7372.
  81.  
  82.  
  83.   1.4.  Standard Disclaimer
  84.  
  85.   Of  course, I disavow any potential liability for the contents of this
  86.   document.  Use of the concepts, examples, and/or other content of this
  87.   document is entirely at your own risk.
  88.  
  89.  
  90.   1.5.  Other sources of information
  91.  
  92.  
  93.  
  94.   1.5.1.  USENET
  95.  
  96.  
  97.      news.admin.misc         General topics of network news administration.
  98.      news.admin.policy       Policy issues of USENET.
  99.      news.admin.technical    Maintaining network news. (Moderated)
  100.      news.software.b         Discussion about B-news-compatible software.
  101.      news.software.nn        Discussion about the "nn" news reader package.
  102.      news.software.nntp      The Network News Transfer Protocol.
  103.      news.software.readers   Software used to read network news.
  104.      news.sysadmin           Comments directed to system administrators.
  105.      news.announce.newusers  Explanatory postings for new users. (Moderated)
  106.      news.newusers.questions Q & A for users new to the Usenet.
  107.  
  108.  
  109.  
  110.  
  111.   1.5.2.  Books
  112.  
  113.   The following is a non-inclusive set of books that will help
  114.  
  115.  
  116.   o  "Managing  UUCP  and USENET" published by O'Reilly+Associates is in
  117.      my opinion the best book out there for figuring  out  the  programs
  118.      and protocols involved in being a USENET site.
  119.  
  120.   o  "Unix  Communications" published by The Waite Group contains a nice
  121.      description of all the pieces (and more) and how they fit together.
  122.  
  123.   o  "Practical  Unix  Security"  published by O'Reilly+Associates has a
  124.      nice discussion of how to secure UUCP in general.
  125.  
  126.   o  "The Internet Complete Reference" from Osborne is a fine  reference
  127.      book  that  explains the various services available on Internet and
  128.      is a great "one-stop-shopping"  source  for  information  on  news,
  129.      mail, and various other Internet resources.
  130.  
  131.  
  132.   1.6.  Where NOT to look for help
  133.  
  134.   There  is  nothing "special" about configuring and running USENET news
  135.   under Linux (any more).  Accordingly, you almost  certainly  do  *NOT*
  136.   want   to   be   posting   generic   news-related   questions  to  the
  137.   comp.os.linux.* newsgroups.
  138.  
  139.   Unless your posting is truly Linux-specific (ie, "please tell me  what
  140.   patches  are  needed  to  run INN with the bash1.12 in SLS v1.03") you
  141.   should be asking your questions in the newsgroups mentioned above.
  142.  
  143.   Let me repeat that.
  144.  
  145.   There is virtually no reason to  post  anything  news-related  in  the
  146.   comp.os.linux  hierarchy  any  more.  There are existing newsgroups in
  147.   the news.*  hierarchy to handle *ALL* your questions.
  148.  
  149.   IF YOU POST TO COMP.OS.LINUX.* FOR NON-LINUX-SPECIFIC  QUESTIONS,  YOU
  150.   ARE LOOKING IN THE WRONG PLACE FOR HELP.  THE USENET NEWS EXPERTS HANG
  151.   OUT IN THE PLACES INDICATED ABOVE AND GENERALLY DO NOT RUN LINUX.
  152.  
  153.   POSTING TO THE LINUX HIERARCHY FOR NON-LINUX-SPECIFIC QUESTIONS WASTES
  154.   YOUR  TIME  AND  EVERYONE  ELSE'S  AND  IT  FREQUENTLY DELAYS YOU FROM
  155.   GETTING THE ANSWER TO YOUR QUESTION.
  156.  
  157.  
  158.   2.  Hardware Requirements
  159.  
  160.   There are no specific hardware  requirements  for  USENET  News  under
  161.   Linux.   The  only requirement of any type is sufficient disk space to
  162.   hold the software itself, the threads database(s), and the  amount  of
  163.   news  you wish to keep on the system.  Figure on a minimum of 10 MB of
  164.   disk space for starters.
  165.  
  166.  
  167.   3.  Getting USENET News software
  168.  
  169.   All the software referenced in this "HOWTO" is available on the  usual
  170.   Internet anonymous ftp sites.
  171.  
  172.   Looking in /news on ftp.uu.net is usually a good way to start.
  173.  
  174.   The  newspak-2.1.tar.z  distribution  contains config files and readme
  175.   files related to building uucp, news, and mail  software  under  Linux
  176.   from the various freely-available sources.  It can usually be found on
  177.   sunsite.unc.edu in the directory /pub/Linux/system/Mail.
  178.  
  179.  
  180.   4.  News Transport Software
  181.  
  182.   There are two main sets of news "transport" software  for  *nix  these
  183.   days,  Cnews  and  INN.   The old "Bnews" has been declared officially
  184.   dead and unsupported by its authors.
  185.  
  186.   News "transport" is defined here to be the software that works  behind
  187.   the  scenes  to post and propagate the news articles as well as making
  188.   the articles available for the newsreaders to access.
  189.  
  190.   You can set your paths to anything you like, as long as UUCP  has  the
  191.   absolute path to rnews in the Permissions file and as long as you have
  192.   your newsreaders configured so that they can find "inews" and  "mail".
  193.  
  194.   Important - you're asking for trouble if you try to intermix Cnews and
  195.   INN.  Pick one or the other.  It's  ok  to  add  the  NNTP  "Reference
  196.   Release" into Cnews since they're intended to play well together.
  197.  
  198.  
  199.   4.1.  Cnews Performance Release
  200.  
  201.   The  current  de-facto  standard  news software is Cnews.  It has been
  202.   around for a number of years, I first saw it sometime around 1988.
  203.  
  204.   Cnews's main benefit is its maturity.  It runs on about every *nix you
  205.   can  find  and  there  are  literally  thousands of systems running it
  206.   worldwide.
  207.   Its main disadvantage is that it seems to have been intended for uucp-
  208.   over-modem connections between sites and as such requires the addition
  209.   of NNTP software to handle realtime Internet feeds and reading.
  210.  
  211.   In addition, it requires external threading packages for  the  various
  212.   newsreaders,  although  the  NOV  package can now be hooked in to help
  213.   somewhat and it's rumored to have native NOV support in  the  upcoming
  214.   "cleanup" release.
  215.  
  216.   Regardless, the beginning USENET admin should probably run Cnews first
  217.   since it's so stable, well  documented,  and  has  many  thousands  of
  218.   experienced administrators who can answer questions.
  219.  
  220.   The  newspak-2.1.tar.z distribution on sunsite contains working config
  221.   files for Cnews under Linux as well as a couple line patch you'll need
  222.   to  make  to  "doexplode"  to  get around some problems with bash1.12.
  223.   bash1.13 is now available on the  various  Linux  archive  sites  that
  224.   should help.
  225.  
  226.  
  227.   4.1.1.  Installing Cnews
  228.  
  229.   Installing  the  Performance  Release  of Cnews is absolutely a "rtfm"
  230.   project.   Just  grab  the  sources,  extract  them,  and  follow  the
  231.   instructions.
  232.  
  233.   The  build.def  in  newspak was generated by running "build" the first
  234.   time  and  simply  looking  up  the  answers  by  checking   out   the
  235.   /usr/include files to get the right answers.
  236.  
  237.   When  you  start  the  actual  compilation,  it'll blow up a couple of
  238.   times.  In all cases, you'll need to simply comment out  a  couple  of
  239.   atoi()  and  atol()  macros  that  gcc doesn't like when your doit.bin
  240.   compilation blows up.
  241.  
  242.   Also, you need the following tiny change to doexplode  to  get  around
  243.   some bash1.12 bugs or else you won't feed anything downstream
  244.  
  245.  
  246.           (from Steve Robbins -  steve@nyongwa.cam.org )
  247.  
  248.           if [ ! -f $f ] ; then continue; fi              # add this line
  249.           #       case "$f" in                            # comment me out
  250.           #       "out.master/[0-9]*")    break ;;        # comment me out
  251.           #       esac                                    # comment me out
  252.  
  253.  
  254.   Henry  Spencer  of  Cnews fame says that the code in doexplode that is
  255.   currently causing problems with bash is on the list to be revised in a
  256.   future release.
  257.  
  258.   It  is  uncertain at this time if the need for this patch goes away if
  259.   you switch to the bash1.13 now available for Linux.  I switched to the
  260.   new  bash  and libs and left the patch in place and nothing broke (for
  261.   what that's worth :-)
  262.  
  263.  
  264.   4.1.2.  Configuring Cnews
  265.  
  266.   At the very least, you need to  edit  the  following  files  that  all
  267.   should be in /usr/local/lib/news:
  268.  
  269.  
  270.  
  271.  
  272.  
  273.   active             - the active file
  274.   batchparms         - batch parameters
  275.   explist            - article expiration setup
  276.   mailname           - name in headers for mailed replies
  277.   mailpaths          - path to mail moderated postings to
  278.   organization       - your "org"
  279.   sys                - control what you take and feed
  280.   whoami             - your hostname for the Path: line
  281.  
  282.  
  283.  
  284.  
  285.   4.1.3.  Maintaining a Cnews Site
  286.  
  287.   First,  a  significant rule of thumb is to not mess with files by hand
  288.   that have utilities that configure them. In particular  don't  set  up
  289.   newsfeeds (run "addfeed" instead) and don't mess with your active file
  290.   (run "addgroup").  When in doubt, read and re-read  the  docs  in  the
  291.   source distribution.
  292.  
  293.   Everything  else  can  be  done via cron.  My crontab for "news" looks
  294.   like the following:
  295.  
  296.  
  297.           # take the compressed batches that came in from other systems
  298.           20 *       * * * /usenet/sw/news/bin/input/newsrun
  299.  
  300.           # batch 'em up to go out
  301.           0 *        * * * /usenet/sw/news/bin/batch/sendbatches myfeedsite
  302.  
  303.           # expire C-news
  304.           59 0       * * * /usenet/sw/news/bin/expire/doexpire
  305.  
  306.           # monitor stuff and report if needed
  307.           10 5       * * * /usenet/sw/news/bin/newsdaily
  308.           00 5       * * * /usenet/sw/new/bin/newswatch
  309.  
  310.           # turn processing of incoming news batches off 6:30AM - 4:00 PM
  311.           30 6       * * * /usenet/sw/news/bin/input/newsrunning off
  312.           00 16      * * * /usenet/sw/news/bin/input/newsrunning on
  313.  
  314.  
  315.  
  316.  
  317.   4.2.  InterNetNews (INN)
  318.  
  319.   INN is the newcomer on the scene, but it's gaining  popularity  as  it
  320.   matures.   Its  main benefit is speed and the fact that it contains an
  321.   integrated nntp package.  Its main drawback is that it's new and  that
  322.   it  doesn't  necessarily  install  and  run  flawlessly  on  the  many
  323.   "standard *nixes" yet.  In addition, it operates by  having  a  daemon
  324.   (the  innd)  always  running  plus potentially a overchan daemon to do
  325.   threading.  The tradeoff seems to be memory vs. speed.
  326.  
  327.   New USENET  admins  should  probably  not  try  INN  until  they  have
  328.   experience  with either B-news or Cnews.  While it's fast and reliable
  329.   under Linux,  it's  virtually  undocumented  for  the  beginning  news
  330.   administrator  (though  in practice it's rather simple to run once you
  331.   figure it out).
  332.  
  333.   INN is very particular about its permissions.  Don't mess with them.
  334.  
  335.   INN is also very particular about having a "quality"  TCP/IP  to  work
  336.   with.   Linux is not necessarily all the way there at this time, so it
  337.   is recommended that you grab a Linux-specific  INN  distribution  from
  338.   one of the usual Linux archive sites.
  339.   4.2.1.  Installing INN
  340.  
  341.   ( from Arjan de Vet - devet@info.win.tue.nl )
  342.  
  343.   I've  made a patch + config kit for INN 1.4 to get it to run on Linux.
  344.   It can be found at:
  345.  
  346.   ftp.win.tue.nl:/pub/linux/ports/inn-1.4-linux.tar.gz
  347.  
  348.   INN depends heavily on a good /bin/sh substitute. I use a beta version
  349.   of  bash  1.13  that  is now available for Linux on the normal archive
  350.   sites.  bash 1.12 gives some small problems with newgroups  not  being
  351.   handled correctly (maybe some other problems too, I don't remember).
  352.  
  353.  
  354.   4.2.2.  Configuring INN
  355.  
  356.   Basically  follow  Arjan's instructions and you'll be all set.  Here's
  357.   the summary of what to do:
  358.  
  359.  
  360.   o  In config.data, make sure you have "HAVE_UNIX_DOMAIN DONT"
  361.  
  362.   o  Add the hostname of the system running innd  to  hosts.nntp  For  a
  363.      uucp-only site, that's your sitename.
  364.  
  365.   o  Make sure you do not have a line for nntp in /etc/inetd.conf
  366.  
  367.   o  Make  sure  that  you have innshellvars say "HAVE_UUSTAT DO" rather
  368.      than the "DONT" in his example config.data if you have uustat  from
  369.      the Taylor UUCP package installed.  If you have this defined wrong,
  370.      it'll result in no outgoing news getting batched.
  371.  
  372.   o  If you run INN, definitely define  the  recommended  syslogd  stuff
  373.      because it is very, very helpful.
  374.  
  375.      There  is  a spectacular (!!!!) FAQ for INN that comes out monthly.
  376.      Look on rtfm.mit.edu for it.  You'll be glad you did.
  377.  
  378.  
  379.   4.2.3.  Maintaining a INN Site
  380.  
  381.   I've found that there's essentially zero care-and-feeding of  a  Linux
  382.   INN  site  other  than  having a working "cron".  Basically you want a
  383.   crontab that looks something like the following:
  384.  
  385.  
  386.           # daily maint, also expire the .overview database and articles
  387.           1 0 * * * /usenet/sw/inn/bin/news.daily expireover delayrm < /dev/null
  388.  
  389.           # send 'em out
  390.           5 * * * * /usenet/sw/inn/lib/send-uucp
  391.  
  392.  
  393.  
  394.   ( if you switch to bash1.13, the "< /dev/null" above is not needed )
  395.  
  396.  
  397.   4.3.  Other News Transport Agents
  398.  
  399.   The following is a non-inclusive list of other news transport software
  400.   known to work under Linux:
  401.  
  402.   dynafeed, nntp1.5.11, slurp1.05
  403.  
  404.  
  405.   5.  News Readers
  406.  
  407.   There  is no "one true newsreader".  As a result, there are many well-
  408.   known newsreaders that port easily to Linux in  particular.   At  this
  409.   writing,  "tin", "trn", and "nn" are in most of the commonly available
  410.   distributions of Linux and in.
  411.  
  412.   When picking a newsreader, you basically want to find  something  that
  413.   is easy to use, very configurable by the user, with threading and kill
  414.   files (to select interesting articles or make the non-interesting ones
  415.   not appear at all).
  416.  
  417.   You  can  set  your  paths  to  anything  you  like as long as all the
  418.   newsreaders can find "inews" from your Cnews or INN installation and a
  419.   "mail" program to send mail replies to posts.
  420.  
  421.   This section will talk briefly about several of the most popular ones.
  422.   Before you ask, I use "nn" for lots of reasons :-)
  423.  
  424.  
  425.   5.1.  Tin
  426.  
  427.   Tin is a threaded newsreader generally intended to  be  easy  for  new
  428.   users.   It  supports kill files and NOV threading.  If you're running
  429.   INN, it will read NOV .overview files by default and not  write  index
  430.   files.
  431.  
  432.   To  compile  Tin  under linux, basically just edit the makefile to set
  433.   the locations of the software (especially the location of  inews)  and
  434.   type "make linux".  There are no patches required for tin under Linux.
  435.  
  436.   For threading, you can basically just say "tin -u" to update the index
  437.   files.
  438.  
  439.   To  enable  the  ability  to  read  via NNTP, compile with "NNTP_ABLE"
  440.   defined.  This will result in a file called "tin" for  local  and  one
  441.   called  "rtin"  for  NNTP  reading.   "tin  -r" will also get the same
  442.   behavior as "rtin".
  443.  
  444.   Iain Lea recommends the following crontab entry and says that you need
  445.   to do a "make daemon" to make tind.
  446.  
  447.  
  448.           # thread the database
  449.           35 * * * * /usenet/bin/tind -u
  450.  
  451.  
  452.  
  453.  
  454.   5.2.  Trn/Mthreads
  455.  
  456.   trn  is  a threaded derivative of the "rn" newsreader.  trn3.3 has the
  457.   nice ability to select either the "mthreads" (trn's threading package)
  458.   or NOV (threader from INN) threading.
  459.  
  460.   To  compile  it,  just run Configure and take the calculated defaults.
  461.   You might need to have lib4.4.1 and bash-1.13 (there  is  a  beta  now
  462.   available  on  the  various  Linux  archive sites) to successfully run
  463.   Configure.  You'll probably need both bash1.13 and  libs4.4.1  to  get
  464.   the new Configure to run properly.
  465.  
  466.   The  newspak-2.1.tar.z distribution on sunsite contains working config
  467.   files for trn under Linux.
  468.  
  469.   It's probably unwise to try to edit a trn  config.sh  by  hand  unless
  470.   you're  doing  something  *VERY* simple like changing the paths to fit
  471.   your tastes.  If you do so, you'll need to run "Configure  -S"  before
  472.   you "make depend", "make", and "make install".
  473.  
  474.   Although  "Configure"  fails  generally  under  Linux  with  bash1.12,
  475.   "Configure -S" work fine so if you take the  newspak  config.sh  as  a
  476.   starting point, you'll be very close.
  477.  
  478.   Compiling  for  NNTP  reading  is  as  simple  as answering "yes" when
  479.   Configure asks you if you want to do so (assuming Configure runs ok on
  480.   your  system).   A  future release of newspak will include a config.sh
  481.   for NNTP reading as well as the existing one  for  local  reading  for
  482.   those of us who are still "bash-impaired" :-)
  483.  
  484.   There  are dozens of command line switches for trn to get all kinds of
  485.   behavior.  Read the "trn" man page for details.  I use a nice  feature
  486.   to set all the switches easily:
  487.  
  488.  
  489.   o  add all the settings in a file called  /.trnrc
  490.  
  491.   o  export TRNINIT=" /.trnrc"
  492.  
  493.   A future newspak will have my .trnrc file as an example.
  494.  
  495.   trn3.2  and  above  has  support  for NOV or mthreads threading that's
  496.   user-selectable.  Accordingly, I recommend building  the  software  to
  497.   allow  both  threading  mechanisms (it's a question in Configure).  To
  498.   pick one at runtime, try "trn -Zo" for NOV and "trn -Zt" for mthreads.
  499.  
  500.   To build the mthreads database, do something like the following in the
  501.   "news" crontab:
  502.  
  503.  
  504.           # thread the trn database
  505.           35 * * * * /usenet/bin/mthreads all
  506.  
  507.  
  508.  
  509.   5.3.  NN
  510.  
  511.   The newspak-2.1.tar.z distribution on sunsite contains working  config
  512.   files  for nn6.4.18 that you can drop into place and type "make" under
  513.   Linux. They also work with the 6.5b2 beta of the coming nn6.5  update.
  514.  
  515.   When you're done compiling, you need to do the following:
  516.  
  517.   o  - run the "inst" program to install things.  (install everything)
  518.  
  519.   o  - initialize the database
  520.  
  521.   o  - fire up nnmaster
  522.  
  523.   See  the  nn docs for details.  Compiling, configuring, and running nn
  524.   under Linux is no different than running nn on any other *nix with the
  525.   exception  that  you  probably  want  to  run nnmaster as a cron entry
  526.   rather than as a daemon.  If you run it as a daemon  under  linux,  it
  527.   doesn't  tend  to  wake up properly (the net effect of running it from
  528.   cron is the same anyway).
  529.  
  530.   Support of "nn" is as simple as the following crontab entries:
  531.  
  532.  
  533.  
  534.  
  535.  
  536.  
  537.           # run nnmaster to collect "nn" stuff
  538.           25 * * * * /usenet/sw/nn/lib/nnmaster
  539.  
  540.           # expire the nn database
  541.           0  4       * * * /usenet/sw/nn/bin/nnadmin =EYW
  542.  
  543.           # stash a copy of the active file for "nngoback" and keep last 7
  544.           0 3 * * * /usenet/sw/nn/lib/back_act 7
  545.  
  546.  
  547.  
  548.  
  549.   5.4.  Other newsreaders
  550.  
  551.   The following is a non-inclusive list of newsreaders said  to  install
  552.   and run under Linux:
  553.  
  554.   tass, xrn, gnus
  555.  
  556.   6.  Acknowledgements
  557.  
  558.  
  559.   The  following  people  have helped in the assembly of the information
  560.   (and experience) that helped make this document possible:
  561.  
  562.   Ed Carp, Steve Robbins, Ian Taylor, Greg Naber, Matt Welsh, Iain  Lea,
  563.   Arjan de Vet
  564.  
  565.   If I forgot anybody, my apologies
  566.  
  567.  
  568.   7.  Frequently Asked Questions about USENET (in c.o.l.* anyway)
  569.  
  570.  
  571.  
  572.   7.1.  Why can't I post to moderated groups ?
  573.  
  574.   Probably because the newsreader is trying to call  /bin/mail  to  send
  575.   the  mail  and  it doesn't like it.  Replace the /bin/mail in SLS with
  576.   the port of mailx-5.3b.tar.z from  the  pub/Linux/system/Mail  dir  on
  577.   sunsite.unc.edu  and make it mode 2755 and group mail (like "elm") and
  578.   you'll be all set.
  579.  
  580.   Another possibility is that you have a moderated newsgroup set  up  on
  581.   your  local  system  as not-moderated and somebody upstream is quietly
  582.   deleting the article (some system's software,  not  a  person).   Make
  583.   sure  you  run a "checkgroups" every now and then when the checkgroups
  584.   article rolls by in news.admin every few weeks.
  585.  
  586.  
  587.   7.2.  Why do I have problems that appear to be permission-related ?
  588.  
  589.   Check  to  see  that  your  permissions  are right and that you have a
  590.   "news" username and group in /etc/passwd and /etc/group  that  matches
  591.   the binary distribution you grabbed.  It seems that there is not yet a
  592.   Linux-standard for commonly available accounts.
  593.  
  594.   All the  stuff  in  /usr/local/lib/news  should  be  news.news  except
  595.   /usr/local/lib/news/setnewsids which should be setuid root.
  596.  
  597.   You can use whatever UID and GID you want for "news".
  598.  
  599.  
  600.  
  601.  
  602.  
  603.   7.3.   Why  can  I post articles locally, but they don't get fed down-
  604.   stream ?
  605.  
  606.   Probably because you didn't call newsrun from cron.  Maybe because you
  607.   edited your sys file and messed it up.  Maybe because you don't have a
  608.   /usr/spool/news/out.going tree or something.
  609.  
  610.   Do  not create newsgroups or feeds by editing the active or sys files.
  611.   Use the utilities in /usr/local/lib/news/bin/maint to do it.
  612.  
  613.  
  614.   7.4.   Why  doesn't  my  binary  distribution  have  the  "Performance
  615.   Release" of C-news?
  616.  
  617.   Because it's optional.  Because it has problems under  Linux  in  some
  618.   places.   Because the Pre-Performance Release Cnews is more stable and
  619.   plenty fast enough on any type of reasonable  system  (IMHO).  If  you
  620.   need  any  more  convincing,  here's  a  few  excerpts from the C-news
  621.   README.new file:
  622.  
  623.   "This is the 20 Feb 1993 Performance Release of C News, a minor update
  624.   to  the 2 May 1992 P.R. that just fixes some installation problems and
  625.   a couple of annoying bugs"
  626.  
  627.   "This release is more or less  a  halfway  step  to  what  we've  been
  628.   calling the "cleanup release""
  629.  
  630.   "People who are happy with the older C News might want to wait for the
  631.   cleanup release, which is still coming although behind schedule"
  632.  
  633.   Mainly because at the time SLS1.01 came out, the  compilers  and  libs
  634.   didn't  like the Performance Release too much.  Things are better now.
  635.  
  636.  
  637.   7.5.  Why doesn't my binary distribution have nntp ?
  638.  
  639.   Because it's supposed to be plug-n-play  under  Linux  and  because  I
  640.   didn't  want to make SLS's news stuff doubly big by having to maintain
  641.   both nntp and non-nntp versions of the newsreaders and news  transport
  642.   programs.   Also  because it compiles in localized information that is
  643.   not overridable at runtime via a config file.
  644.  
  645.  
  646.   7.6.  Why does doexpire (or relaynews or) say "severe space  shortage"
  647.   when there's lots of room ?
  648.  
  649.   Because it can't read /etc/mtab.  Make it mode 644.  This happens when
  650.   you  unmount  a  mounted  filesystem by root with a umask that doesn't
  651.   permit world-read of files owned by root.
  652.  
  653.  
  654.   7.7.  Why does everything look normal, but posting doesn't happen ?
  655.  
  656.   Older  versions  of  Linux had a "broken" sed that C-news was prone to
  657.   blow up.  In particular, if you've installed over an old SLS, be  sure
  658.   to check /bin and /usr/bin to be certain you have only one copy of sed
  659.   and that it's a modern one.
  660.  
  661.  
  662.   7.8.  the various independent thread databases ?  Can I hook  the  new
  663.   news overview (NOV) stuff into trn/tin/nn to replace
  664.  
  665.   Yes.  trn3.3 supports it now.  The next version of tin will.
  666.  
  667.   You can hook it into the Performance  Release  of  Cnews  and  various
  668.   other readers as well
  669.   The  beta  copy of nn6.5 I have here has NOV support and it works just
  670.   dandy under Linux.  I run it here and have nn running  without  having
  671.   to run nnmaster (!).  Look on uniwa.uwa.edu for a copy of it.
  672.  
  673.  
  674.   7.9.  Why can't we have a binary distribution of NNTP ?
  675.  
  676.   Because  significant  local-only information is compiled-in and cannot
  677.   be determined auto-magically at runtime.
  678.  
  679.  
  680.   7.10.  storing any news articles or databases locally.  How do  I  set
  681.   up NNTP to allow read/post across the network while *not*
  682.  
  683.   ( mdw@sunsite.unc.edu (Matt Welsh) )
  684.  
  685.   o  1) Grab the "reference implementation" of nntp and  a  copy  or  rn
  686.      from  your  local archive site.  If you connect to ftp.uu.net you'd
  687.      grab:
  688.  
  689.      nntp.1.5.11.tar.Z from ftp.uu.net:/news/nntp rn-4.4.pl3.tar.Z  from
  690.      ftp.uu.net:/news/rn
  691.  
  692.   o  2) compile nntp as follows:
  693.  
  694.      copy  common/conf.h.dist  to  common/conf.h.  Edit common/conf.h to
  695.      set certain options: The only ones I set were:
  696.  
  697.      DOMAIN: undefine it  (i.e.  change  the  line  to  #undef  DOMAIN).
  698.      REALDOMAIN:   Define  this.  It  looks  up  the  domain  using  the
  699.      libraries.
  700.  
  701.      SERVER_FILE: Set this to the name of the file  which  will  contain
  702.      the  hostname  of the news server (i.e. the machine you'll read and
  703.      post news through). I use "/usr/local/lib/news/server".
  704.  
  705.      PASSFILE: If your news server requires  authorization  (i.e.   some
  706.      kind  of  username/password)  to  post, set this to the name of the
  707.      file which contains the username and password (described below).  I
  708.      use "/usr/local/lib/news/nntppass".
  709.  
  710.      I   decided   to   keep   all   of   the   other   news   stuff  in
  711.      /usr/local/lib/news.  So I set all of the rest of the pathnames  in
  712.      the   file   (i.e.   ACTIVE_FILE,  NEWSGROUPS_FILE,  etc.)  to  use
  713.      /usr/local/lib/news.  Many of these files are only used by the NNTP
  714.      server,  not the client, but to be safe I changed them all to point
  715.      to  the  right  directory.  You  can  of  course  use  the  default
  716.      pathnames; just make sure you create the directory accordingly.
  717.  
  718.      3)  Create  the  user  "usenet"  if  you haven't already. The inews
  719.      program runs as this user. All you need is a userid; you don't need
  720.      a  home  directory or shell or anything for the user. Just plop the
  721.      following line into your /etc/passwd:
  722.  
  723.      usenet:*:13:1::/:
  724.  
  725.      Make sure you set the userid ("13", above) to something unique. The
  726.      group can be anything; I use "daemon" (gid 1).
  727.  
  728.   o  4)  Create  the  SERVER_FILE, above. For example, my news server is
  729.      "wonton.tc.cornell.edu",     so     I     created     the      file
  730.      /usr/local/lib/news/server     which     contained     one    line:
  731.      wonton.tc.cornell.edu
  732.  
  733.   o  5) Create the PASSFILE. This file contains lines of the form
  734.  
  735.                      <server name> <username> <password>
  736.  
  737.  
  738.   Let's say that your news server (the one  in  SERVER_FILE,  above)  is
  739.   "shoop.vpizza.com",  and to post on that machine you need to be autho-
  740.   rized as the user "news" with a password  of  "floof".  Thus,  in  the
  741.   PASSFILE  (I  use  /usr/local/lib/news/nntppass),  you  need  the line
  742.   shoop.vpizza.com news floof
  743.  
  744.   o  6) Make this file secure!  The  inews  program  runs  as  the  user
  745.      "usenet",  so  make  this news directory owned by that user and the
  746.      nntppass file as well.
  747.  
  748.              chown usenet /usr/local/lib/news
  749.              chmod 755 /usr/local/lib/news
  750.              chown usenet /usr/local/lib/news/nntppass
  751.              chmod 600 /usr/local/lib/news/nntppass
  752.  
  753.  
  754.   So nobody else can read this file. No, the passwords  in  it  are  not
  755.   encrypted.
  756.  
  757.   o  7)  Go  back  to  the  nntp.1.5.11  source  directory;  issue "make
  758.      client".  At this point you'll build the  NNTP  version  of  inews,
  759.      which is the only software used by the NNTP client.
  760.  
  761.      When I built inews, there was a bug in the library which caused the
  762.      function uname() in uname.c to call itself eternally.  This  should
  763.      be gone now; however, if inews seems to hang and your system starts
  764.      slowing down *a lot* you should rename the  function  "uname()"  in
  765.      uname.c  to something like "my_uname()", and change the calls to it
  766.      (in inews.c) to call my_uname() instead. Mail me if  you  run  into
  767.      this problem.  (VDS note - this means mail to Matt-not me :-) )
  768.  
  769.   o  8)  Issue "make install_client". This will install the inews stuff.
  770.      Also link /usr/local/lib/news/inews to /usr/local/bin/inews
  771.  
  772.      Now you should be able to happily post  (by  hand).  Try  something
  773.      like the following:
  774.  
  775.                      $ inews -h << EOF
  776.                      Newsgroups: misc.test
  777.                      From: me@foo.bar.com
  778.                      Subject: Testing
  779.                      Reply-To: my-real-address@wherever.edu
  780.  
  781.                      This is a test.
  782.                      EOF
  783.  
  784.  
  785.   If  this  works,  inews  should  post the article. You'll know because
  786.   test-responders on misc.test will reply to the address on the Reply-To
  787.   line, above. Please don't do test postings on real groups, like c.o.l.
  788.   :)
  789.  
  790.   7.11.  How do I build "rrn" as a nntp-based newsreader/poster ?
  791.  
  792.   ( mdw@sunsite.unc.edu (Matt Welsh) )
  793.  
  794.   o  1.  cd  to the rn source directory and do "./Configure". For almost
  795.      all the questions, take the defaults (it's very smart).  Make  sure
  796.      you    have   a   link   to   "cpp"   (usually   in   /usr/lib/gcc-
  797.      lib/i386-linux/2.3.3) in /lib, so rn can find it.
  798.  
  799.      - Don't panic if it says you're on a NeXT or a USG system. Just  go
  800.      with the flow
  801.      - Answer "y" to "Do you expect to run these scripts and binaries on
  802.      multiple machines?"
  803.  
  804.      - For your domain name: if  your  system  is,  say,  "foo.bar.com",
  805.      answer with just "bar.com" (the domain, not the entire hostname).
  806.  
  807.      - Answer "usenet" for the name of the user which is the news admin.
  808.  
  809.      - For "Where is your news library?" use  the  directory  where  the
  810.      above NNTP files are kept: I use /usr/local/lib/news.
  811.  
  812.      - Man page source is in /usr/man/man1.
  813.  
  814.      -  Answer  "y"  to  "Does  your /etc/passwd file keep full names in
  815.      Berkeley/V7 format?"
  816.  
  817.      - Answer "gcc" to the name of the compiler which forces resolution.
  818.  
  819.      -  Answer  "y"  to  "Do  you  want  to build the NNTP version of rn
  820.      (rrn)?"
  821.  
  822.      - For the name of the news server file: use the same name you  used
  823.      when building inews, above (for me, /usr/local/lib/news/server).
  824.  
  825.      Don't run makedepend yet! Go to the next step:
  826.  
  827.   o  2)  Edit  config.h.  Change  the  "#define ROOTID " line to #define
  828.      ROOTID 0 if it isn't already.
  829.  
  830.   o  3) In rrn-4.4.pl3, there is a small bug  with  SIGEMT:  it  doesn't
  831.      exist  on  Linux.  rn  used  SIGEMT  to check if a process is still
  832.      running; however, under  POSIX.1  we  can  instead  just  send  the
  833.      process a signal 0.
  834.  
  835.      Edit  init.c. On line 243, note the following: if (kill(processnum,
  836.      SIGEMT)) { Change this to if (kill(processnum, 0)) {
  837.  
  838.      You may wish to #ifdef it out instead; it's up to you.  Don't  just
  839.      define  SIGEMT  to be zero; this will break the sigignore() call in
  840.      final.c.
  841.  
  842.   o  4) Issue "makedepend > makedepend.out".
  843.  
  844.   o  5) Issue "make". Rn should compile happily.
  845.  
  846.   o  6) Issue "make install".
  847.  
  848.      You're all set. Keep in mind that rn does in  fact  eat  a  lot  of
  849.      memory  (as  does any newsreader), handling the newsgroups file. So
  850.      when you first run rn, it might be  a  little  slow  building  your
  851.      .newsrc  and  checking  for new groups. If you're impatient, copy a
  852.      .newsrc from somewhere else and use that.
  853.  
  854.